#!/bin/bash

#
# Copyright (C) 2014 Sami Kerola <kerolasa@iki.fi>
#
# This file is part of util-linux.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This file is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
TS_TOPDIR="${0%/*}/../.."
TS_DESC="basic check"

. "$TS_TOPDIR"/functions.sh
ts_init "$*"

ts_check_test_command "$TS_CMD_RENAME"
ts_cd "$TS_OUTDIR"

touch rename_basic.{1..3}
$TS_CMD_RENAME -v basic test rename_basic.? >> $TS_OUTPUT 2>> $TS_ERRLOG

for i in rename_basic.?; do
	echo "what is $i doing here?" >> $TS_OUTPUT
done
for i in rename_test.{1..3}; do
	if [ ! -f $i ]; then
		echo "file $i is missing" >> $TS_OUTPUT
	else
		rm -f $i
	fi
done


touch rename_all\ file\ with\ spaces.{1..3}
$TS_CMD_RENAME -v -a ' ' '_' rename_all*.? >> $TS_OUTPUT 2>> $TS_ERRLOG

for i in rename_all*\ *.?; do
	echo "what is $i doing here?" >> $TS_OUTPUT
done
for i in rename_all_file_with_spaces.{1..3}; do
	if [ ! -f $i ]; then
		echo "file $i is missing" >> $TS_OUTPUT
	else
		rm -f $i
	fi
done

touch rename_zz_last_{z,z{,z{,z}}}.{x..z}
$TS_CMD_RENAME -v -l zz AAzzBB rename_zz_last_* >> $TS_OUTPUT 2>> $TS_ERRLOG
for i in rename_AAzzBB_last_z.x rename_AAzzBB_last_z.y rename_AAzzBB_last_z.z \
	rename_zz_last_AAzzBB.x rename_zz_last_AAzzBB.y rename_zz_last_AAzzBB.z \
	rename_zz_last_zAAzzBB.x rename_zz_last_zAAzzBB.y rename_zz_last_zAAzzBB.z ; do
	if [ ! -f $i ]; then
		echo "file $i is missing" >> $TS_OUTPUT
	else
		rm -f $i
	fi
done
for i in rename*last* ; do
	echo "what is $i doing here?" >> $TS_OUTPUT
done

touch rename_all_empty
$TS_CMD_RENAME -v -a '' _ rename_all_empty >> $TS_OUTPUT 2>> $TS_ERRLOG
rm -f _r_e_n_a_m_e___a_l_l___e_m_p_t_y_

mkdir rename_dir
$TS_CMD_RENAME -v dir new_dir rename_dir/ >> $TS_OUTPUT 2>> $TS_ERRLOG
rmdir rename_new_dir

ts_finalize
